package com.wn.exception;

import com.wn.utils.HttpStatus;
import com.wn.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @RestControllerAdvice  处理全局的异常注解
 *       出现了一场\springmvc 通过 RestControllerAdvice 标记的类进行处理
 *
 *  @ExceptionHandler  捕获  不同的异常进行 处理
 *      @ExceptionHandler 标记的方法 进行异常的处理
 *
 */
@RestControllerAdvice
@Slf4j
public class ExceptionAdvice {

    @ExceptionHandler
    public Result exceptionResole(Exception exception){
        log.debug("系统出bug了，exception ===== " + exception.getMessage());
        // 打印异常，方面错误排查
        exception.printStackTrace();
        return new Result(HttpStatus.ERROR, "系统繁忙, 请稍后再试", null);
    }
}